package com.ruoyi.common.config;

import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * 读取项目相关配置
 *
 * @author ruoyi
 */
@Setter
@Getter
@Component
@ConfigurationProperties(prefix = "llm-info")
public class LlmInfoConfig {
    /**
     * 项目名称
     */
    private String name;

    /**
     * 版本
     */
    private String version;

    /**
     * 版权年份
     */
    private String copyrightYear;

    /**
     * 上传路径
     */
    @Getter
    private static String profile;

    /**
     * 获取地址开关
     */
    @Getter
    private static boolean addressEnabled;

    /**
     * 验证码类型
     */
    @Getter
    private static String captchaType;

    /**
     * 服务器基础路径
     */
    private static String baseUrl;

    //python命令运行地址
    @Getter
    public static String pythonCommand;
    @Getter
    public static String pythonCommandParameter;

    //Pandoc配置
    @Getter
    public static String pandasConfig;

    public void setPythonCommand(String pythonCommand) {
        LlmInfoConfig.pythonCommand = pythonCommand;
    }

    public void setPythonCommandParameter(String pythonCommandParameter) {
        LlmInfoConfig.pythonCommandParameter = pythonCommandParameter;
    }

    public void setPandasConfig(String pandasConfig) {
        LlmInfoConfig.pandasConfig = pandasConfig;
    }

    public static String getBaseUrl() {
        return "http://" + LlmInfoConfig.baseUrl;
    }

    public void setBaseUrl(String baseUrl) {
        LlmInfoConfig.baseUrl = baseUrl;
    }

    public void setProfile(String profile) {
        LlmInfoConfig.profile = profile;
    }

    public void setAddressEnabled(boolean addressEnabled) {
        LlmInfoConfig.addressEnabled = addressEnabled;
    }

    public void setCaptchaType(String captchaType) {
        LlmInfoConfig.captchaType = captchaType;
    }


    /**
     * 获取导入上传路径
     */
    public static String getImportPath() {
        return getProfile() + "/import";
    }


    /**
     * 获取下载路径
     */
    public static String getDownloadPath() {
        return getProfile() + "/download/";
    }

    /**
     * 获取上传路径
     */
    public static String getUploadPath() {
        return getProfile() + "/upload";
    }


}
